package com.desksoft.ecommerce.service.interf.mall;

import java.util.List;
import java.util.Map;

import com.desksoft.ecommerce.util.result.ServiceResult;
import com.desksoft.ecommerce.vo.mall.ComponentSettingVO;
import com.desksoft.ecommerce.vo.mall.MallFieldsVO;
import com.desksoft.ecommerce.vo.mall.MallSiteInfoVO;
import com.desksoft.ecommerce.vo.mall.PublicInfoVO;
import com.desksoft.ecommerce.vo.mall.settings.CartShopVO;
import com.desksoft.ecommerce.vo.mall.settings.EmailVO;
import com.desksoft.ecommerce.vo.mall.settings.EntMemSettingsVO;
import com.desksoft.ecommerce.vo.mall.settings.ImageSettingsVO;
import com.desksoft.ecommerce.vo.mall.settings.ItemSettingVO;
import com.desksoft.ecommerce.vo.mall.settings.OrdMemSettingVO;
import com.desksoft.ecommerce.vo.mall.settings.VendorSettingVO;
import com.desksoft.ecommerce.vo.mall.settings.WebDataVO;
import com.desksoft.utility.service.ServiceInterface;

public interface ISettingService extends ServiceInterface {

	/**
	 * 获取站点相关信息
	 * 
	 * @param
	 * @param
	 * @return
	 */
	public ServiceResult<MallSiteInfoVO> getWebSiteInfo(String userId, String storeCode, String sysType);

	/**
	 * 获取网站全局参数数据与流程相关参数
	 * 
	 * @param
	 * @param
	 * @return
	 */
	public ServiceResult<WebDataVO> getWebDataInfo(int siteID);

	/**
	 * 更改网站全局参数数据与流程相关参数
	 * 
	 * @param
	 * @param
	 * @return
	 */
	public ServiceResult<Boolean> updateWebDataInfo(String val, Integer siteid, String settingType, String keyName);

	/**
	 * 获取系统订单设置相关参数
	 * 
	 * @param
	 * @param
	 * @return
	 */
	public ServiceResult<CartShopVO> getCartShopInfo(CartShopVO cartShopVO);
	
	/**
	 * 邮件的系统订单设置相关参数
	 * 
	 * @param
	 * @param
	 * @return
	 */
	public ServiceResult<EmailVO> getEmailInfo(EmailVO emailVO);

	/**
	 * 获取系统公共信息下拉列表参数
	 * 
	 * @param
	 * @param
	 * @return
	 */
	public ServiceResult<List<PublicInfoVO>> getCartShopInfo(PublicInfoVO publicInfoVO);

	/**
	 * 获取表单配置信息
	 * 
	 * @param mallFieldsVO
	 * @return
	 */
	public ServiceResult<List<MallFieldsVO>> getMemFormSettings(MallFieldsVO mallFieldsVO);

	/**
	 * 图片相关设置
	 * 
	 * @param
	 * @param
	 * @return
	 */
	public ServiceResult<ImageSettingsVO> getItemPicSettings(ImageSettingsVO imageSettingsVO);

	/**
	 * 获取普通会员登录注册相关设置
	 * 
	 * @param
	 * @param
	 * @return
	 */
	public ServiceResult<OrdMemSettingVO> getOrdMemSettings();

	/**
	 * 获取企业会员登录注册相关设置
	 * 
	 * @param
	 * @param
	 * @return
	 */
	public ServiceResult<EntMemSettingsVO> getEntMemSettings();

	/**
	 * 获取单页列表页相关设置
	 * 
	 * @param
	 * @param
	 * @return
	 */
	public ServiceResult<ItemSettingVO> getItemSettings(ItemSettingVO itemSettingVO);

	/**
	 * 根据groupID 得到组件的设置内容
	 * 
	 * @param groupId
	 * @return
	 */
	public ServiceResult<Map<String, ComponentSettingVO>> getComponetSetting(String groupId);
	
	/**
	 * 根据groupID 得到组件的设置内容
	 * 
	 * @param groupId
	 * @return
	 */
	public ServiceResult<Map<String, ComponentSettingVO>> getComponetSettingM(String groupId,Integer siteId);
	
	/**
	 * 根据groupID 得到组件的设置所有内容
	 * 
	 * @param groupId
	 * @return
	 */
	public ServiceResult<Map<String, ComponentSettingVO>> getAllComponetSettingM(String groupId,Integer siteId);
	
	/**
	 * @author LiuWenLong
	 * @version 2012-12-17 下午1:32:26
	 * @description TODO
	 * @return
	 */
	public ServiceResult<VendorSettingVO> selectVendorSettings();
}
